/**
 * edurender
 * ersw_types.h
 * (c) 2009 J. Brad Byrd
 */

#ifndef ERSW_TYPES_H
#define ERSW_TYPES_H

#include "../er/er_types.h"

typedef struct ERSWViewport
{
	ERint x, y;
	ERuint width, height;
} ERSWViewport;

typedef struct ERSWInputVertex
{
	ERVector3f position;
	ERVector2f texCoord[2];
	ERColor4f color;
} ERSWInputVertex;

typedef struct ERSWOutputVertex
{
	ERVector4f hpos;
	ERVector3f spos;
	ERVector2f texCoord[2];
	ERfloat invW;
	ERubyte clip;
} ERSWOutputVertex;

typedef struct ERSWFramebuffer
{
	ERBgrColor *colors;
	ERint *depths;
	ERushort width;
	ERushort height;
	ERushort stride;
} ERSWFramebuffer;

#endif // ERSW_TYPES_H
